Current Internet Protocol (IP) networks comprise a plurality of nodes, including a plurality of routers at the core of the network and a plurality of hosts at the edge of the network. The routers collectively link the communication channels between hosts. The nodes are assigned network-wide unique IP addresses to enable proper and efficient traffic forwarding to destination nodes. The routers route packets in the IP networks based on the IP addresses carried in the packets. The packets are forwarded by the routers to proper destinations based on a <source address, destination address> pair, which may be indicated in each packet. The routers may have a plurality of ports. The ports may be used to send and/or receive packets to and/or from the IP network. Certain routers may be configured to load-balance. Load-balancing includes distributing packets received at an input port across several output ports, in attempt to balance the number of packets output from each port. Load-balancing may prevent congestion on certain paths through the network by distributing packets to other less used paths. Load-balancing may also used in a router internally when the single processing pipeline cannot process all the packets and the packets are sent to multiple parallel processing pipelines.